Using Denotational Semantics in the Validation of the Compiler for a Mutation-Oriented Language
نویسندگان
چکیده
Systems which produce large amount of output are very difficult to teste due to the expense of checking whether the outputs are correct or not. In other words, there is no simple oracle that can establish the acceptance of the outputs. For such systems, one plausible alternative is to use a second implementation as an automated oracle. The automated oracle is then run with the test cases applied to the system under testing and the outputs are compared. MuDeL is a language for describing mutant operators and is supported by mudelgen, a system that generates the actual mutants from a given description. Usually, the number of mutants that are generated is very large. Therefore, testing mudelgen is very difficult. To tackle this problem, we have described the semantics of MuDeL using denotational semantics and developed an automated oracle by implementing this semantics in the SML language. In this paper, we describe the results of this approach. We indicate how using a formal framework (i.e., denotational semantics) and a functional language (i.e., SML) helps improving the confidence of the mudelgen system.
منابع مشابه
Declarative Semantics in Object-Oriented Software Development - A Taxonomy and Survey
One of the modern paradigms to develop an application is object oriented analysis and design. In this paradigm, there are several objects and each object plays some specific roles in applications. In an application, we must distinguish between procedural semantics and declarative semantics for their implementation in a specific programming language. For the procedural semantics, we can write a ...
متن کاملIncreasing Modularity and Language-Independency in Automatically Generated Compilers
The work reported here is based on ideas from (modular) algebraic specifications of abstract data types [3 1,2,6,23], abstract semantic algebras [25,26], and compiler descriptions based on attribute grammars [22]. Many papers have utilized ideas of abstract data type theory to improve the structure of semantics definitions and/or compiler descriptions. In [4], following [lo] and [24], the funda...
متن کاملInterpreters From Functions and Grammars
-The addition of context free grammar rules to a functional language simplifies the construction of interpreters from denotationaI semantic language definitions. Functional abstraction over grammar rules enables the specification and processing of context sensitive language syntax aspects in a functional style. DenotatLonaI semantics Language design Language implementation Functional language G...
متن کاملSource Language Intermediate Language Target Language Compiler
We present a paradigm for proving the correctness of compilers for languages with parallelism. The source language is given a denotational semantics as a compositional translation to a higher-order process calculus. The target language is also given a denotational semantics as a compositional translation to the same process calculus. We show the compiler is correct in that it preserves denotati...
متن کاملFrom standard to implementation denotational semantics
e are developing a compiler compiler. It takes as input the formal definition of a programming lanquage in Denotational Semantics and produces as output a fairly efficient compiler written in a systems programming language which in turn will produce code for a real machine. This wor:c ~ainly deals with the code qeneration parts.
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2007